namespace List_study
{
     class List_集合
    {
        public void test()
        {
            // 定义一个元素为 string 类型的 List 集合
            var names = new List<string> { "<name>", "Ana", "Felipe" };

            int index = 0;

            //  foreach in 可以迭代 List 集合
            foreach (var name in names)
            {
                Console.WriteLine($"Hello {name.ToUpper()}!");
                // 可以通过索引访问 List 集合元素
                Console.WriteLine(names[index]);
                index++;
            }

            // 使用 Count 属性获取 List 集合的元素个数
            Console.WriteLine($"names 有{names.Count}个元素");

            // 获取 List 集合中某个元素的索引 若无则返回 -1
            Console.WriteLine($"Ana 在 names 中的索引是{names.IndexOf("Ana")}");

        }

        /**获取任意长度的斐波那契数列
        @params length {int} 想要的长度
        */
        public void get_fibonacci(int length)
        {
            if (length < 2) return;


            // 创建 List 版本的斐波那契数列
            var fibonacci_list = new List<int> { 1, 1 };

            int number;
            int number2;

            for (int i = 0; i < length - 2; i++)
            {
                number = fibonacci_list[fibonacci_list.Count - 1];
                number2 = fibonacci_list[fibonacci_list.Count - 2];
                fibonacci_list.Add(number + number2);
            }

            foreach (var item in fibonacci_list)
            {
                Console.WriteLine(item);
            }
        }


    }
}



